92 research outputs found

    Controlling the level of sparsity in MPC

    Full text link
    In optimization routines used for on-line Model Predictive Control (MPC), linear systems of equations are usually solved in each iteration. This is true both for Active Set (AS) methods as well as for Interior Point (IP) methods, and for linear MPC as well as for nonlinear MPC and hybrid MPC. The main computational effort is spent while solving these linear systems of equations, and hence, it is of greatest interest to solve them efficiently. Classically, the optimization problem has been formulated in either of two different ways. One of them leading to a sparse linear system of equations involving relatively many variables to solve in each iteration and the other one leading to a dense linear system of equations involving relatively few variables. In this work, it is shown that it is possible not only to consider these two distinct choices of formulations. Instead it is shown that it is possible to create an entire family of formulations with different levels of sparsity and number of variables, and that this extra degree of freedom can be exploited to get even better performance with the software and hardware at hand. This result also provides a better answer to an often discussed question in MPC; should the sparse or dense formulation be used. In this work, it is shown that the answer to this question is that often none of these classical choices is the best choice, and that a better choice with a different level of sparsity actually can be found

    Combining Homotopy Methods and Numerical Optimal Control to Solve Motion Planning Problems

    Full text link
    This paper presents a systematic approach for computing local solutions to motion planning problems in non-convex environments using numerical optimal control techniques. It extends the range of use of state-of-the-art numerical optimal control tools to problem classes where these tools have previously not been applicable. Today these problems are typically solved using motion planners based on randomized or graph search. The general principle is to define a homotopy that perturbs, or preferably relaxes, the original problem to an easily solved problem. By combining a Sequential Quadratic Programming (SQP) method with a homotopy approach that gradually transforms the problem from a relaxed one to the original one, practically relevant locally optimal solutions to the motion planning problem can be computed. The approach is demonstrated in motion planning problems in challenging 2D and 3D environments, where the presented method significantly outperforms a state-of-the-art open-source optimizing sampled-based planner commonly used as benchmark

    Low-Rank Modifications of Riccati Factorizations for Model Predictive Control

    Full text link
    In Model Predictive Control (MPC) the control input is computed by solving a constrained finite-time optimal control (CFTOC) problem at each sample in the control loop. The main computational effort is often spent on computing the search directions, which in MPC corresponds to solving unconstrained finite-time optimal control (UFTOC) problems. This is commonly performed using Riccati recursions or generic sparsity exploiting algorithms. In this work the focus is efficient search direction computations for active-set (AS) type methods. The system of equations to be solved at each AS iteration is changed only by a low-rank modification of the previous one, and exploiting this structured change is important for the performance of AS type solvers. In this paper, theory for how to exploit these low-rank changes by modifying the Riccati factorization between AS iterations in a structured way is presented. A numerical evaluation of the proposed algorithm shows that the computation time can be significantly reduced by modifying, instead of re-computing, the Riccati factorization. This speed-up can be important for AS type solvers used for linear, nonlinear and hybrid MPC

    A Parallel Riccati Factorization Algorithm with Applications to Model Predictive Control

    Full text link
    Model Predictive Control (MPC) is increasing in popularity in industry as more efficient algorithms for solving the related optimization problem are developed. The main computational bottle-neck in on-line MPC is often the computation of the search step direction, i.e. the Newton step, which is often done using generic sparsity exploiting algorithms or Riccati recursions. However, as parallel hardware is becoming increasingly popular the demand for efficient parallel algorithms for solving the Newton step is increasing. In this paper a tailored, non-iterative parallel algorithm for computing the Riccati factorization is presented. The algorithm exploits the special structure in the MPC problem, and when sufficiently many processing units are available, the complexity of the algorithm scales logarithmically in the prediction horizon. Computing the Newton step is the main computational bottle-neck in many MPC algorithms and the algorithm can significantly reduce the computation cost for popular state-of-the-art MPC algorithms

    Reduced Memory Footprint in Multiparametric Quadratic Programming by Exploiting Low Rank Structure

    Full text link
    In multiparametric programming an optimization problem which is dependent on a parameter vector is solved parametrically. In control, multiparametric quadratic programming (mp-QP) problems have become increasingly important since the optimization problem arising in Model Predictive Control (MPC) can be cast as an mp-QP problem, which is referred to as explicit MPC. One of the main limitations with mp-QP and explicit MPC is the amount of memory required to store the parametric solution and the critical regions. In this paper, a method for exploiting low rank structure in the parametric solution of an mp-QP problem in order to reduce the required memory is introduced. The method is based on ideas similar to what is done to exploit low rank modifications in generic QP solvers, but is here applied to mp-QP problems to save memory. The proposed method has been evaluated experimentally, and for some examples of relevant problems the relative memory reduction is an order of magnitude compared to storing the full parametric solution and critical regions

    The Unintended Consequences of Enhancing Gun Penalties: Shooting Down the Commerce Clause and Arming Federal Prosecutors

    Get PDF
    The objective of this work is to derive an MIQP solver tailored for MPC. The MIQP solver is built on the branch and bound method, where QP relaxations of the original problem are solved in the nodes of a binary search tree. The difference between the subproblems is often small and therefore it is interesting to be able to use a previous solution as a starting point in a new subproblem. This is referred to as a warm start of the solver. Because of its good warm start properties, a dual active set QP method was chosen. The method is tailored for MPC by solving a part of the KKT system using a Riccati recursion, which makes the computational complexity of the QP iterations grow linearly with the prediction horizon. Simulation results are presented both for the QP solver itself and when it is incorporated as a part of the MIQP solver. In both cases the computational complexity is significantly reduced compared to if a primal active set solver not utilizing structure is used
    corecore